﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ShanjinPDAUI.ModelEntity
{
    public class Machine_Entity
    {
        [Key]
        public int Id { get; set; }

        public int Devid { get; set; }

        public int Station { get; set; }
        public int PreStation { get; set; }
        public int BackStation { get; set; }

        public int WaitStation { get; set; }
        public int WaitPreStation { get; set; }
        public int WaitBackStation { get; set; }

        //public int GetStation { get; set; }
        //public int GetPreStation { get; set; }
        //public int GetBackStation { get; set; }


        //public int GetWaitStation { get; set; }
        //public int GetWaitPreStation { get; set; }
        //public int GetWaitBackStation { get; set; }

        public int PutUpTaskType { get; set; }

        public int PutUpContiuneTaskType { get; set; }


        public int PutUpWaitTaskType { get; set; }

        public int PutDownTaskType { get; set; }

        public int PutDownWaitTaskType { get; set; }

        public int GetUpTaskType { get; set; }

        public int GetUpWaitTaskType { get; set; }
        /// <summary>
        /// 下料任务
        /// </summary>
        public int GetDownTaskType { get; set; }

        public int GetDownWaitTaskType { get; set; }




        /// <summary>
        /// 上料点区域
        /// </summary>
        public int PutAre { get; set; }
        /// <summary>
        /// 下料点区域
        /// </summary>

        public int GetAre { get; set; }

        /// <summary>
        /// 绑定拆包间
        /// </summary>
        public int UnpackingAre { get; set; }

        public int Manipulatorid { get; set; }

        public int RgvId { get; set; }

        public string Remark { get; set; }

        public bool IsEnable { get; set; }

        public int Flow { get; set; }

        /// <summary>
        /// 缓存架是否在机械手范围
        /// </summary>
        public bool IsDown { get; set; }

        public bool IsLk { get; set; }
        public int LkPostation { get; set; }

        public int HYGetHeightBig { get; set; }

        public int HYPutHeightBig { get; set; }

        public int HYGetHeightSmal { get; set; }

        public int HYPutHeightSaml { get; set; }


        public string MESName { get; set; }
        public Machine_Entity Clone()
        {
            return new Machine_Entity()
            {
                Devid = this.Devid,

                Station = this.Station,
                PreStation = this.PreStation,
                BackStation = this.BackStation,
                WaitStation = this.WaitStation,
                WaitPreStation = this.WaitPreStation,
                WaitBackStation = this.WaitBackStation,
                PutUpTaskType = this.PutUpTaskType,
                PutUpWaitTaskType = this.PutUpWaitTaskType,
                PutDownTaskType = this.PutDownTaskType,
                PutDownWaitTaskType = this.PutDownWaitTaskType,
                GetUpTaskType = this.GetUpTaskType,
                GetUpWaitTaskType = this.GetUpWaitTaskType,
                GetDownTaskType = this.GetDownTaskType,
                GetDownWaitTaskType = this.GetDownWaitTaskType,
                PutAre = this.PutAre,
                GetAre = this.GetAre,
                UnpackingAre = this.UnpackingAre,
                Manipulatorid = this.Manipulatorid,
                RgvId = this.RgvId,
                Remark = this.Remark,
                IsEnable = this.IsEnable,
                Flow = this.Flow,
            };
        }
    }
}
